Preprocessing source code

By default, SNiFF+'s C/C++ Parser does not expand preprocessor macros when it parses source files. This approach has the advantage of speed, but occasionally some preprocessor macros confuse the Parser.
For example, macros that make the non-preprocessed source code syntactically incorrect confuse the Parser and may result in incomplete symbolic information. Such macros are called non-syntactic macros.
SNiFF+ provides several mechanisms to solve these kinds of problems:

- Full preprocessing of the project -- If your code heavily uses non-syntactic macros, we recommend that you preprocess it. You can enable preprocessing for a single SNiFF+ project, or for a project structures.
- Configuring the Parser -- You can configure the Parser to selectively preprocess your source code.

| Note
| SNiFF+'s C/C++ Parser handles preprocessor options (e.g., - Idir , -I- , -nostdinc ) in accordance with ANSI standards.